Internet of things (IoT) brings the next wave in the era of computing where many of objects that surround people are connected on a network in some form or the other. In this new paradigm of computing, an IoT platform plays an important role since it offers services that are essential for building IoT applications. There are multiple commercial IoT platforms and among them four big players are IBM Watson IoT platform, Amazon Web Services IoT platform, Cisco's IoT cloud connect, Microsoft Azure IoT platform, and a number of popular open source IoT platforms such as Kaa—unobscured cloud platform for IoT, DeviceHive, the Physical Web powered by Google and so on. Many of these IoT platforms when hosted on clouds enable us to monitor, manage and control remote smart devices seamlessly as though they are connected to local server itself. IoT applications along with IoT platforms have a huge potential in redefining the way people live and work. However, many practical issues need to be addressed before they actually affect important aspects of our life. Performance Assurance is one such important requirement for wide acceptance of these applications.
Traditional performance modeling has focused on request response applications dealing with fixed size data sets. The new breed of IoT applications have additional elements such as smart devices along with sensors that lead to growing and dynamic data sets. While applying conventional performance modeling and analysis techniques in IoT applications, one has to ensure that the model prediction is able to address larger volume of data sets. A typical three tier web application consists of web-tier, business tier and database tier. However, in an IoT system, along with the three standard tiers, the smart things also constitute another important tier. Another important feature of IoT systems is the presence of a large number of technologies operating together—for example, a single device gateway tier in IoT application may use multiple software components such as high performance load balancer, key-value based NoSQL database for managing events and logs and Elasticsearch for fast storage and retrieval of information and so on. This adds to the complexity in building performance models for IoT application.
There are a number of IoT platforms that have come up in the recent past. In addition to the ones mentioned above. For example, Xively provides essential remote services for data pulled from any public feed. Thingspeak is an open source IoT platform that provides APIs to store and retrieve data from various devices. But none of these platforms report any performance analysis data. Depending on the area of IoT applications such as transportation, healthcare, industrial automation and emergency response, the issue of performance, reliability and availability can play a very important role, and performance of an IoT system depends on performance of individual components as well as technologies underneath which still remain unresolved.